सी मध्ये कॉन्स्ट पॉईंटर
सतत पॉईंटर्स
सी मधील सतत पॉईंटर ज्या व्हेरिएबलकडे निर्देशित करीत आहे त्याचा पत्ता बदलू शकत नाही, म्हणजेच पत्ता स्थिर राहील. म्हणूनच, आम्ही असे म्हणू शकतो की जर सतत पॉईंटर काही व्हेरिएबलकडे निर्देशित करत असेल तर ते इतर कोणत्याही चलकडे लक्ष देऊ शकत नाही.
स्थिर पॉईंटरचा वाक्यरचना
<pzakar cyaa paEZMTr> *sYair <naava cyaa paEZMTr>;
स्थिर पॉईंटरची घोषणा खाली दिली आहे:
paunaZ *sYair paiTiAar;
चला एका उदाहरणाद्वारे सतत पॉईंटर समजूया.
#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
paunaZ A=1;
paunaZ bai=2;
paunaZ *sYair paiTiAar;
paiTiAar=&A;
paiTiAar=&bai;
laiha("maulya cyaa paiTiAar Aahe :%paunaZ",*paiTiAar);
vaapasakra 0;
}
वरील कोडमध्ये:
आम्ही दोन व्हेरिएबल्स घोषित करतो, म्हणजेच, ए आणि बी अनुक्रमे 1 आणि 2 मूल्ये. आम्ही सतत पॉईंटर घोषित करतो. प्रथम, आम्ही पॉईंटर 'पीटीआर' ला व्हेरिएबल 'ए' चा पत्ता नियुक्त करतो. मग, आम्ही पॉईंटर 'पीटीआर' ला व्हेरिएबल 'बी' चा पत्ता नियुक्त करतो. शेवटी, आम्ही 'पीटीआर' द्वारे निर्देशित केलेल्या व्हेरिएबलचे मूल्य मुद्रित करण्याचा प्रयत्न करतो.
वरील आउटपुटमध्ये, आम्ही निरीक्षण करू शकतो की वरील कोड "केवळ-वाचनीय व्हेरिएबल 'पीटीआर' ची असाइनमेंट" त्रुटी तयार करते. याचा अर्थ असा आहे की 'पीटीआर' असलेल्या व्हेरिएबल 'पीटीआर' चे मूल्य बदलले जाऊ शकत नाही. वरील कोडमध्ये, आम्ही 'पीटीआर' चे मूल्य आणि ए ते & बी मध्ये बदलत आहोत, जे सतत पॉईंटर्ससह शक्य नाही. म्हणूनच, आम्ही असे म्हणू शकतो की सतत पॉईंटर, जो काही चलकडे निर्देशित करतो, दुसर्या व्हेरिएबलकडे लक्ष देऊ शकत नाही.
स्थिर ते पॉईंटर
पॉईंटर ते स्थिरतेचा वाक्यरचना
sYair <pzakar cyaa paEZMTr>* <naava cyaa paEZMTr>
पॉईंटरला स्थिरतेची घोषणा खाली दिली आहे:
sYair paunaZ* paiTiAar;
चला उदाहरणाद्वारे समजूया. प्रथम, आम्ही कोड लिहितो जिथे आपण पॉईंटरचे मूल्य बदलत आहोत
#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
paunaZ A=100;
paunaZ bai=200;
sYair paunaZ* paiTiAar;
paiTiAar=&A;
paiTiAar=&bai;
laiha("maulya cyaa paiTiAar Aahe :%u",paiTiAar);
vaapasakra 0;
}
वरील कोडमध्ये:
वरील कोड यशस्वीरित्या चालतो आणि तो आउटपुटमध्ये 'पीटीआर' चे मूल्य दर्शवितो. आता आम्ही कोड लिहितो ज्यामध्ये आम्ही पॉईंटर पॉईंट्स ज्या व्हेरिएबलचे मूल्य बदलत आहोत.
#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
paunaZ A=100;
paunaZ bai=200;
sYair paunaZ* paiTiAar;
paiTiAar=&bai;
*paiTiAar=300;
laiha("maulya cyaa paiTiAar Aahe :%paunaZ",*paiTiAar);
vaapasakra 0;
}
वरील कोडमध्ये:
आम्ही अनुक्रमे १०० आणि २०० मूल्यांसह दोन व्हेरिएबल्स, म्हणजेच 'ए' आणि 'बी' घोषित करतो. आम्ही स्थिरतेसाठी पॉईंटर घोषित करतो. आम्ही पॉईंटर 'पीटीआर' ला व्हेरिएबलचा 'बी' चा पत्ता नियुक्त करतो. मग, आम्ही पॉईंटर 'पीटीआर' द्वारे व्हेरिएबल 'बी' चे मूल्य सुधारित करण्याचा प्रयत्न करतो. शेवटी, आम्ही पॉईंटर 'पीटीआर' द्वारे निर्देशित केलेल्या व्हेरिएबलचे मूल्य मुद्रित करण्याचा प्रयत्न करतो.
वरील कोड "केवळ वाचनीय स्थानाची असाइनमेंट"*पीटीआर '"त्रुटी दर्शवितो. या त्रुटीचा अर्थ असा आहे की पॉईंटर निर्देशित करीत असलेल्या व्हेरिएबलचे मूल्य आम्ही बदलू शकत नाही.
स्थिरतेसाठी सतत पॉईंटर म्हणजे पॉईंटर, जो वरील दोन पॉईंटर्सचे संयोजन आहे. ते ज्या व्हेरिएबलकडे निर्देशित करीत आहे त्याचा पत्ता बदलू शकत नाही किंवा या पत्त्यावर ठेवलेले मूल्य बदलू शकत नाही.
कसे लिहावे
sYair <pzakar cyaa paEZMTr>* sYair <naava cyaa D paEZMTr>;
स्थिरतेसाठी स्थिर पॉईंटरसाठी घोषणा खाली दिली आहे:
sYair paunaZ* sYair paiTiAar;
चला उदाहरणाद्वारे समजूया.
#vaapara <PsaTidiAayaAae.Pca>
paunaZ mauqya()
{
paunaZ A=10;
paunaZ bai=90;
sYair paunaZ* sYair paiTiAar=&A;
*paiTiAar=12;
paiTiAar=&bai;
laiha("maulya cyaa paiTiAar Aahe :%paunaZ",*paiTiAar);
vaapasakra 0;
}
वरील कोडमध्ये:
आम्ही अनुक्रमे 10 आणि 90 मूल्यांसह दोन चल, म्हणजेच 'ए' आणि 'बी' घोषित करतो. आम्ही सतत पॉईंटर घोषित करतो आणि नंतर 'ए' चा पत्ता नियुक्त करतो. आम्ही पॉईंटर 'पीटीआर' च्या माध्यमातून व्हेरिएबलचे मूल्य बदलण्याचा प्रयत्न करतो. मग आम्ही पॉईंटर 'पीटीआर' वर व्हेरिएबल 'बी' चा पत्ता नियुक्त करण्याचा प्रयत्न करतो. शेवटी, आम्ही व्हेरिएबलचे मूल्य मुद्रित करतो, जे पॉईंटर 'पीटीआर' द्वारे निर्देशित केले जाते.
वरील कोडमध्ये "केवळ वाचनीय स्थानाची असाइनमेंट"*पीटीआर '"आणि" केवळ वाचनीय व्हेरिएबल' पीटीआर 'ची असाइनमेंट "" त्रुटी दर्शविली जाते. म्हणूनच, आम्ही असा निष्कर्ष काढतो की स्थिरतेसाठी स्थिर पॉईंटर देखील पत्ता किंवा मूल्य बदलू शकत नाही, जो या पॉईंटरद्वारे निर्देशित करीत आहे.